//
//  NSString+Addition.h
//  Project
//
//  Created by  CarlsonLee on 2018/12/7.
//  Copyright © 2018年 YANJING. All rights reserved.
//

#import <Foundation/Foundation.h>

@interface NSString (Addition)

/**
 URL编解码
 */
- (NSString *)gel_stringByURLEncode;
- (NSString *)gel_stringByURLDecode;

/**md5*/
- (NSString* )gel_md5String;

/**绘制*/
- (CGSize )gel_sizeForFont:(UIFont *)font size:(CGSize)size mode:(NSLineBreakMode)lineBreakMode;

/// 计算字符串的绘制宽度 (单行)
- (CGFloat)gel_widthForFont:(UIFont *)font;

/// 计算字符串的绘制高度 (定宽)
- (CGFloat)gel_heightForFont:(UIFont *)font width:(CGFloat)width;

/// 计算字符串的绘制高度
/// @param width 最大宽度
/// @param maxLine 最大行数 (比如传入3，则字超过3行时，会截取3行的高度返回)
- (CGFloat)gel_heightForFont:(UIFont *)font width:(CGFloat)width line:(NSInteger)maxLine;


#pragma mark - General
/// 返回一个随机 UUID 例如 "D1178E50-2A4D-4F1F-9BD3-F6AAB00E06B1"
+ (NSString *)gel_stringWithUUID;

/// 切去头尾的空白字符 (空格/换行等)
- (NSString *)gel_stringByTrim;

/// 是否包含表情
- (BOOL)gel_containsEmoji;

/// 是否非空
+ (BOOL)gel_stringIsNull:(NSString *)string;

/// 是否包含字符串
- (BOOL)gel_containsString:(NSString *)string;

/// 是否包含 charset 中的字符
- (BOOL)gel_containsCharacterSet:(NSCharacterSet *)set;

/// 解析 json 字符串，返回 NSDictionary/NSArray。 (解析失败返回nil)
- (id)gel_jsonValueDecoded;

/// 从 Main bundle 的文件创建字符串，(类似 [UIImage imageNamed:])
- (NSString *)gel_stringNamed:(NSString *)name;

// liyuan+ 数字字符串用逗号分隔
- (NSString *)gel_segmentString;

//判断字符串相等
- (BOOL)gel_equalToStrObj:(id )obj;

//返回安全字符串
+ (NSString* )gel_safeStr:(NSString* )string;
@end
